Accessing remote video devices

ABSTRACT

A control server receives a local input to control a remote video device and sends an indication of the local input to the remote video device to control, access, or operate the remote video device. Video data indicative of images provided by the remote video device in response to the local input are relayed to the control server by the remote video device or associated components. A plurality of remote video devices can be simultaneously controlled, accessed, or operated. Control code sets for remote video devices are mapped to a local interface control set. Local input is translated to a remote video device command based on such mappings.

The present patent application is a continuation of a previously filedpatent application, U.S. patent application Ser. No. 14/188,444, filedFeb. 24, 2014, issuing as U.S. Pat. No. 9,131,250 on Sep. 8, 2015, whichis a continuation of a previously filed patent application, U.S. patentapplication Ser. No. 12/577,612, filed Oct. 12, 2009, now U.S. Pat. No.8,661,487, which are hereby incorporated by reference in their entirety.

BACKGROUND

1. Field of the Disclosure

The present disclosure relates to accessing and controlling remote videodevices.

2. Description of the Related Art

Multimedia content may be distributed by a multimedia contentdistribution network (MCDN) that includes Internet protocol television(IPTV) networks. Video devices such as set-top boxes (STBs) receive themultimedia content from the MCDN. For a person to operate the videodevice and determine the content of what is displayed by the videodevice, the person typically must be in the presence of the videodevice.

BRIEF DESCRIPTION OF THE DRAWINGS

FIG. 1 depicts a system for accessing remote video devices;

FIG. 2 depicts an interface for viewing the multimedia content displayedby multiple remote video devices;

FIG. 3 depicts further details of a system for accessing remote videodevices;

FIG. 4 depicts selected elements of methods, systems, or services foraccessing remote video devices;

FIG. 5 depicts selected elements of further methods, systems, orservices for accessing remote video devices; and

FIG. 6 depicts selected elements of still further methods, systems, orservices for accessing remote video devices.

DESCRIPTION OF THE EXEMPLARY EMBODIMENTS

In a particular embodiment, a computer method of controlling a remotevideo device includes receiving first video data from the remote videodevice, receiving a local input to control the remote video device,sending an indication of the local input to the remote video device, andreceiving second video data indicative of video images provided by theremote device in response to the local input. The video data receivedfrom the remote video device includes or is indicative of first videoimages provided by the remote video device. The computer method mayfurther include displaying a local video image based on the second videodata, which may provide an administrator the ability to view what ispresented by the remote video device in response to the locally providedinput.

The computer method, in some embodiments, includes storing the firstvideo data and the second video data. First video images based on thefirst video data and second video images based on the second video data,in some embodiments, are compared to predetermine video patterns. Inresponse to a trigger event (e.g., second video images corresponding toa predetermined video pattern), disclosed embodiments may take one ormore recovery actions. For example, if the comparing steps indicate thatthe first or second video images presented by the remote video deviceinclude an error screen, the recovery action (e.g., updating a crashlog) may be performed.

Local input provided to control the remote video device can be providedby a software routine and can be executed periodically or in response toadministrator input. For example, a series of local user inputs may beassembled for execution as a batch file. The batch file may be scheduledfor periodic (e.g., hourly, daily, etc.) execution. The computer methodmay further include mapping a control code set to a local interfacecontrol set. The control code set is associated with the remote videodevice or associated with a plurality of remote video devices. Inresponse to an administrator providing local input, the input can thenbe translated using the control code set to control information used bythe remote video device. The computer method may include remotelycontrolling and monitoring the remote video device through an MCDN,which may include one or more IPTV networks.

In another aspect, a remote video device controller includes aprocessor, a remote video adapter, and a storage that includes computerinstructions for remotely controlling, monitoring, and accessing remotevideo devices. Instructions enable the remote video device controller toreceive a local input to control a remote video device. The local inputemulates an infrared (IR) input. Further instructions convert the localinput to a remote video device command, send an indication of the remotevideo device command to the remote video device, and detect a change incontent or image displayed by the remote video device after saidsending. The remote video device command may bring the remote videodevice to a predetermined state, for example by rebooting the remotevideo device command, providing certain instructions to a user, and thelike.

Embodied remote video device controllers may compare a video image orvideo images received from the remote video device to stored videopatterns to detect a video pattern event. The video pattern event mayindicate an absence of normal operation by the remote video device. Forexample, a video pattern event may indicate that an error screen hasbeen presented or is currently being presented by the remote videodevice. In some embodiments, the remote video device controller adaptsstored video patterns during operation based on the video image orimages received from the remote video device.

Another embodiment relates to a service for controlling a remote videodevice. The service includes receiving first video data from the remotevideo device, sending an indication of a local control command to theremote video device, and receiving second video data indicative of asecond video image produced by the remote video device responsive to thelocal control command. The first video data received from the remotedevice is indicative of first video images processed by the remote videodevice. In some embodiments, the service includes mapping a control codeset to a local interface control set. The local interface control set isfor the remote video device and a local interface control set includesthe local control command. The service further includes translating thelocal control command to a remote video device command based on themapping.

Disclosed embodiments relate to remotely monitoring, controlling, andtesting of Internet protocol (IP) based video assets. Monitoring,controlling, and testing of the video assets can be performed from onecentralized location and include: (1) acquiring and managing differentvideo streams from various IP-based video devices connected within anIP-based network; (2) combining and storing video streams forconsumption and further video analysis as specified by an administrator;(3) controlling the IP-based devices via user defined commands that mapto the features of the given device(s); (4) mapping and creating suchcommands through a learning process; (5) storing code mappings indatabases for future use; (6) assigning the appropriate command-codesdatabase when a given IP-based video asset is selected to control theasset; and (7) enabling administrators to capture, store, display, andedit commands sent to the IP-based video device in a scripted format forfuture replay and automation.

Using disclosed embodiments, administrators can control and test anyremote video assets and devices. Example remote video assets and devicesinclude without limitation video-based applications, simulation tools,STBs, mobile phones, and personal digital assistants (PDAs). Control andtesting of the remote video assets and devices can be performed overdifferent IP-based networks including without limitation local areanetworks (LANs), wide area networks (WANs), 3G networks, and 4Gnetworks. These networks can operate over any transport media includingbut not limited to copper, fiber, fixed-wireless, cellular, coaxialcable, and power line. Using disclosed embodiments, traditional directlocal connections through wires may be unnecessary between thecontroller (i.e., the testing equipment) and the device (i.e., theremote video asset or device) because control and testing over IP-basednetworks is possible.

In some testing or operational environments, an administrator or userwishes to control multiple IP-based video assets (e.g., STBs) remotely.In some cases, using an IR remote control, an administrator must bewithin line-of-sight of an STB and must provide manual input to affectthe operation of each STB. This can require that the administrator bephysically in front of the STB and the display monitor to verify theactions taken by the STB in response to the IR command sent. Controllingmultiple STBs, for example for testing purposes, using such systems canbe labor intensive. Furthermore, such manual methods of controlling STBsdo not capture and store commands so that the commands can be repeatedlysent later to test or achieve the same scenario on other STBs. Disclosedembodiments permit automatic monitoring, controlling, and testing ofSTBs that are not physically accessible (due to distance or location) toan administrator.

Using network control, monitoring, and testing of remote video assetshelps prevent limitations on the physical distances betweencontroller(s) and video assets. Disclosed embodiments permit rapid andrepeatable set up and configuration between controller(s) and videoassets. This can promote lower costs for control, testing,troubleshooting, maintenance, and repair of both controllers and videoassets. Individual consumers may employ disclosed embodiments, ordisclosed embodiments may be used by entities such as internationalcompanies, telecommunications carriers, mobile telephone operators,cable operators, fixed wireless operators, government-sponsored and/orowned entities, power companies, and the like.

In the following description, details are set forth by way of example tofacilitate discussion of the disclosed subject matter. It should beapparent to a person of ordinary skill in the field, however, that thedisclosed embodiments are exemplary and not exhaustive of all possibleembodiments. Throughout this disclosure, a hyphenated form of areference numeral refers to a specific instance of an element and theun-hyphenated form of the reference numeral refers to the elementgenerically or collectively. Thus, for example, widget 12-1 refers to aninstance of a widget class, which may be referred to collectively aswidgets 12 and any one of which may be referred to generically as awidget 12.

FIG. 1 illustrates a system for controlling and monitoring a remotevideo device in accordance with disclosed embodiments. As shown, remotevideo devices 116 are communicatively coupled to control server 114through network 165-1. Likewise, remote video devices 117 arecommunicatively coupled to control server 114 through network 165-2.Remote video devices 130 are communicatively coupled to control server114 through network 165-3. As shown, control server 114 remotelymonitors and controls remote video devices 116, 117, and 130 through aplurality of networks. The networks may be part of an MCDN and mayprovide IPTV content to the remote video devices.

As shown, control server 114 can access database 106 which includesvideo patterns 150, rules 160, and actions 170. In some embodiments,control server 114 monitors video images of a remote video device (e.g.,remote video device 130-1) and compares video images received from theremote video device to video patterns 150. Rules 160 may be accessed bycontrol server 114 to determine when a trigger event has occurred. Forexample, a video patterns 150 may include an error screen, and controlserver 114 may receive video data that indicates that remote videodevice 130-1 has presented a corresponding error screen. Rules 160 mayinclude a rule that if an error screen presented by remote video device130-1 corresponds to an error screen in video patterns 150, a certainaction (e.g., a reboot) is taken. For example, an administrator may benotified, the remote video device 130-1 may be brought to apredetermined state, or other such recovery actions may be taken. Rules160 and actions 170 may be updated by an administrator. Likewise, videopatterns 150 may be adapted during operation to include video patternsused for monitoring one or more remote video devices.

In some disclosed embodiments, control server 114 accesses video imagespresented by remote video device 116-1. Remote video device 116-1 maytransmit and stream video data through network 165-1 to control server114. Control server 114 may provide control command through network165-1 to remote video device 116-1. An administrator accessing controlserver 114 may provide user input that simulates or causes IR input tobe received by remote video device 116-1. In some embodiments, a controlcode set for a video device 116-1 is mapped to controls presentedthrough a user interface presented by control server 114 to anadministrator. An administrator may provide input to the interface tocontrol remote video device 116-1, and control server 114 translates theinputs using the control code set to control signals used by remotevideo device 160-1. Remote video device 116-2 may be controlled in asimilar way, and may operate using a different control code set ascompared to remote video device 116-1. Similarly, control server 114 maycontrol remote video device 117-1 using a control code set compatiblewith remote video device 117-1. In this way, an administrator maysimultaneously operate a single interface provided by control server 114to simultaneously operate, monitor, access, and control multiple remotevideo devices in multiple locations that have different controlparameters. Once the remote video devices receive and act on the userinput, the administrator may receive over one or more networks videodata that indicates video images presented by the remote video devicesin response to the user input. Video data received by control server 114may be stored by control server 114 and analyzed at any time.

FIG. 2 illustrates a display interface 200-1 that may be viewed by anadministrator or user during operation of the disclosed embodiments.Display 201-2 may be populated with video images received from a remotevideo device (e.g., remote video device 116-1). Similarly, displays201-1, 201-3, and 201-n are populated with video images received fromremote video devices. As shown, each display 201 includes a timer 202that indicates a universal time at which the remote video devicesdisplay the viewed video images. Displays 201-1, 201-3, and 201-n alldisplay an automobile traveling down a road. As shown, the automobile isshown in different locations, possibly due to delays in a control server(e.g., control server 114 in FIG. 1) receiving and processing video datareceived from the corresponding remote video devices. In someembodiments, a user (e.g., an administrator) provides input to a localuser interface to result in remote video commands being sent to fourseparate remote video devices corresponding to displays 201. The controlserver then receives video data representing video images presented bythe remote video devices in response to the control commands. As shown,the remote video device corresponding to display 201-2 has an errorrelated to a weak signal. However, the remote video devicescorresponding to displays 201-1, 201-3, and 201-n appear to be operatingnormally, because content (i.e., a multimedia program showing anautomobile) requested to be displayed at the remote video devices by theuser is streamed from the remote video devices back to the controlserver and displayed as shown.

FIG. 3 illustrates additional details for control server 114 includingvideo stream selector 313, command translator 311, and controlapplication 315. As shown in FIG. 3, control server 114 may be similarto or identical to control server 114 in FIG. 1. Video stream selector313 enables a user (e.g., an administrator), to select for viewing oranalysis, video data received from a portion of remote video devicesavailable for monitoring, control, or access. Control application 315presents a user interface to a user of control server 114. For example,control application 315 may present a graphical user interface thatincludes icons representing buttons that are typically included with aremote control device for controlling an STB or television that includesan STB functionality. For example, control application 315 may present agraphical user interface with a play button, pause button, stop button,record button, menu button, guide button, channel up button, channeldown button, volume up button, volume down button, and numerical buttonsfor manually entering channel numbers. Responsive to receiving userinput to the graphical user interface, control application 315communicates with command translator 311 to translate user commands tocontrol commands (i.e., remote video device commands) that operateremote video devices according to the user input. Command translator 311may access a control code set that is unique to each remote video devicethat the user requests to control.

As shown, control server 114 may control STB 305 and STB 321 throughnetworks 319 and 308, respectively. To control STB 305, control server114 sends signals indicative of a remote video device command throughnetwork 319 to STB control device 307. As shown, STB control device 307is communicatively coupled to STB 305. In some embodiments, STB controldevice 307 translates commands received from control server 114 to IRcommands to affect the video images displayed by STB 305. For example,STB control device 307 may request a channel change to be performed bySTB 305. To provide feedback to control server 114 so that controlserver 114 may determine the effect of control commands it sends, videoencoder 309 encodes and streams video data through network 319 tocontrol server 114. The video data represents video images presented bySTB 305 in response to the control command sent from control server 114.

As shown, STB 321 is communicatively coupled through network 308 tocontrol server 114. STB 321 includes STB control device 323 and videoencoder 325. As shown in FIG. 3, STB control device 323 and videoencoder 325 are internal to or integrated into STB 321.

Control server 114, in some embodiments, is a remote video device (e.g.,video application, STB, television, etc.) controller that includes aprocessor (not depicted), a remote video adapter (not depicted), and astorage (not depicted). The storage may have embedded instructions thatenable control server 114 to receive a local input to control a remotevideo device (e.g., STB 305). The local input may emulate an IR input.For example, control application 315 may present a graphical userinterface to an administrator with a virtual remote control device(i.e., a graphical image of a remote control device with selectableicons representing buttons typically contained on a hand-held remotecontrol device with tactile buttons). Accordingly, the administrator mayprovide input through the graphical user interface to the virtual remotecontrol device to cause STB control device 307 to provide controlcommands to STB 305. The local input may be converted to a remote videodevice command compatible with STB control device 307 and STB 305. Anindication of the remote video device command may be sent throughnetwork 319 to the remote video device (e.g., STB 305). A change in thecontent or images displayed by STB 305 can be detected, and images ordata associated with the change in content or images is encoded usingvideo encoder 309. As shown, the encoded data is sent from video encoder309, through network 319, to control server 114. This provides feedbackregarding the effects of the remote video device commands sent overnetwork 319. In other words, an administrator is provided an indicationof the effects of remote video device commands sent to one or moreremote video devices. Accordingly, the administrator can troubleshoot,monitor, and access operation of the remote video devices from a singlelocation.

FIG. 4 illustrates aspects of a computer method 400 for controlling aremote video device. The computer method includes receiving (block 401)first video data from a remote video device. A local input to controlthe remote video device is received (block 402). The local input may beconverted (block 403) to remote video device commands using a controlcode set that may be specific to the remote video device. An indicationof the local input is sent (block 404) to the remote video device. Afterthe remote video device processes the user input, video data indicativeof video images provided by the remote video device is received (block405). In addition to receiving video data indicative of responsive videoimages, an acknowledgment signal may be received (block 406) thatconfirms that the remote video device processed the local input command.

FIG. 5 illustrates selected aspects of a computer method 500 forcontrolling remote video devices. As shown, the remote video devicecontroller includes computer instructions for receiving (block 501) alocal input to control a remote video device. Further instructions arefor converting (block 502) the local input to a remote video devicecommand. An indication of the remote video device command is sent (block503) to the remote video device. A change in content or images displayedby the remote video device is detected (block 504). Methods 400 and 500may individually and collectively be performed by control server 114.

FIG. 6 depicts elements of a disclosed service 600 for controlling aremote video device. As shown, the service includes mapping (block 601)a control code set to a local interface control set. The control codeset may be specific to a remote video device controlled by a controlserver in accordance with disclosed embodiments. Video data is received(block 602) from a remote video device. The video data is indicative ofvideo images remotely presented by the remote video device. A localcontrol command is received (block 603). The local control command isprovided to a local interface corresponding to the local interfacecontrol set. The local control command may include or represent arequest to control, monitor, or access the remote video device. Thelocal control command is translated (block 604) to a remote video devicecommand based on the mapping of the control code set to the localinterface control set. An indication of the local control command issent (block 605) to the remote video device. Second video dataindicative of a second video image provided by the remote video deviceis received (block 606).

To the maximum extent allowed by law, the scope of the presentdisclosure is to be determined by the broadest permissibleinterpretation of the following claims and their equivalents, and shallnot be restricted or limited to the specific embodiments described inthe foregoing detailed description.

What is claimed is:
 1. A remote control method, comprising: receiving,by a server, first video data from a remote video device, wherein thefirst video data is indicative of a first video displayed at the remotevideo device; retrieving, by the server, a particular local input,stored in a file comprising data for a plurality of local user inputs;identifying a particular remote video device command associated with theparticular local input; sending an indication of the particular remotevideo device command to the remote video device; and after sending theindication of the remote video device command, receiving second videodata indicative of a second video provided by the remote video device.2. The remote control method of claim 1, further comprising: displayinga local video based on the second video data.
 3. The remote controlmethod of claim 1, further comprising: storing the first video data; andstoring the second video data.
 4. The remote control method of claim 1,wherein identifying the particular local input comprises: presenting, bythe server, a graphical user interface for a virtual remote controldevice; receiving administrator input provided via the graphical userinterface; and associating the administrator input with the particularlocal input.
 5. The remote control method of claim 1, furthercomprising: periodically executing commands corresponding to at leastsome of the local user inputs.
 6. The remote control method of claim 1,further comprising: mapping a control code set to a local interfacecontrol set, wherein the control code set is associated with the remotevideo device.
 7. The remote control method of claim 6, furthercomprising: translating the particular remote video device command to aremote video device command, wherein said translating is according tothe control code set.
 8. The remote control method of claim 1, furthercomprising: comparing the first video to a predetermined video pattern;and responsive to the first video matching the predetermined videopattern, initiating a recovery action associated with the predeterminedvideo pattern.
 9. The remote control method of claim 8, wherein thepredetermined video pattern represents an error screen.
 10. The remotecontrol method of claim 9, wherein the recovery action includesobtaining a crash log related to the error screen.
 11. The remotecontrol method of claim 10, wherein said receiving is via a multimediacontent distribution network.
 12. The remote control method of claim 11,wherein the multimedia content distribution network comprises anInternet protocol television network.
 13. A server, comprising: aprocessor; a computer readable storage medium including: a fileindicative of a plurality of local user inputs, wherein a local userinput, when provided to a remote video device, controls the remote videodevice: and computer executable instructions, that, when executed by theprocessor, cause the processor to perform operations comprising:receiving, from the remote video device, first video data indicative ofa first video displayed at the remote video device; retrieving, from thefile, a particular local input to control the remote video device;identifying a remote video device command associated with the particularlocal input; sending an indication of the remote video device command tothe remote video device; and after sending the indication of the remotevideo device command, receiving second video data indicative of secondvideo provided by the remote video device.
 14. The server of claim 13,wherein the operations include: comparing a video received from theremote video device to stored video patterns to detect a video patternevent, wherein the video pattern event indicates an absence of a normaloperation of the remote video device.
 15. The server of claim 14,wherein the operations include: adapting the stored video patternsduring operation based on the received video.
 16. The server of claim15, wherein a remote video device command is for bringing the remotevideo device to a predetermined state.
 17. A non-transitory computerreadable medium including processor executable instructions that, whenexecuted by the processor, cause the processor to perform operationscomprising: receiving, by a server, a first stream of video from aremote video device; retrieving, by the server, data indicative of alocal input from a file comprising a plurality of local user inputs;identifying a video device command associated with the local input;sending an indication of the video device command to the remote videodevice; and receiving a second stream of video provided by the remotevideo device after receiving the indication of the video device command.18. The non-transitory computer readable medium of claim 17, wherein theoperations include: mapping a control code set to a local interfacecontrol set, wherein the control code set is for the remote videodevice, wherein the local interface control set includes a local controlcommand; and translating the local control command to a remote videodevice command based on said mapping.
 19. The non-transitory computerreadable medium of claim 17, wherein the operations include: receiving,by the server, at least a portion of multimedia content displayed by theremote video device.
 20. The non-transitory computer readable medium ofclaim 17, wherein the operations include: comparing a video receivedfrom the remote video device to stored video patterns to detect a videopattern event, wherein the video pattern event indicates an absence of anormal operation of the remote video device.